using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

////////////////////////////////////////////////////////////////////////////////////////////////////
// namespace: Dimok.Data.DataSources
//
// summary:	.
////////////////////////////////////////////////////////////////////////////////////////////////////

namespace Dimok.Data.DataSources {

	////////////////////////////////////////////////////////////////////////////////////////////////////
	/// <summary>	A table data source. </summary>
	///
	/// <remarks>	Dimon, 12/21/2010. </remarks>
	////////////////////////////////////////////////////////////////////////////////////////////////////

	public abstract class ATableDataSource : AObjectDataSourceBase{
		string _selectViewName = "";
		string _insertViewName = "";

		////////////////////////////////////////////////////////////////////////////////////////////////////
		/// <summary>	Gets or sets the name of the select view. </summary>
		///
		/// <value>	The name of the select view. </value>
		////////////////////////////////////////////////////////////////////////////////////////////////////

		public override string SelectViewName {
			get {	return _selectViewName; }
			set { _selectViewName = value; }
		}

		////////////////////////////////////////////////////////////////////////////////////////////////////
		/// <summary>	Gets or sets the name of the insert view. </summary>
		///
		/// <value>	The name of the insert view. </value>
		////////////////////////////////////////////////////////////////////////////////////////////////////

		public override string InsertViewName {
			get { return _insertViewName; }
			set { _insertViewName = value; }
		}

		////////////////////////////////////////////////////////////////////////////////////////////////////
		/// <summary>	Executes the object created action. </summary>
		///
		/// <param name="sender">	Source of the event. </param>
		/// <param name="e">			Event information to send to registered event handlers. </param>
		////////////////////////////////////////////////////////////////////////////////////////////////////

		protected override void OnObjectCreated(object sender, ObjectDataSourceEventArgs e) {
			base.OnObjectCreated(sender, e);
			ATableDataSource me = e.ObjectInstance as ATableDataSource;
			me.SelectViewName = SelectViewName;
		}
	}
}